package com.jzo2o.common.expcetions;

import static com.jzo2o.common.constants.ErrorInfo.Msg.REQUEST_FORBIDDEN;
import static java.net.HttpURLConnection.HTTP_FORBIDDEN;

/**
 * 权限校验被拒异常类，用于表示请求因权限不足被拒绝的情况
 * 对应HTTP状态码：403（禁止访问）
 */
public class RequestForbiddenException extends CommonException{
    /**
     * 使用默认权限拒绝消息构造异常
     */
    public RequestForbiddenException() {
        this(REQUEST_FORBIDDEN);
    }
    /**
     * 使用指定消息构造权限校验被拒异常
     * @param message 异常消息
     */
    public RequestForbiddenException(String message) {
        super(HTTP_FORBIDDEN, message);
    }
    /**
     * 使用指定原因和消息构造权限校验被拒异常
     * @param throwable 异常原因
     * @param message 异常消息
     */
    public RequestForbiddenException(Throwable throwable, String message) {
        super(throwable, HTTP_FORBIDDEN, message);
    }
    /**
     * 使用指定原因和默认权限拒绝消息构造异常
     * @param throwable 异常原因
     */
    public RequestForbiddenException(Throwable throwable) {
        super(throwable, HTTP_FORBIDDEN, REQUEST_FORBIDDEN);
    }

}
